import { Effect, ImmerReducer } from 'umi';
import { TableColumnProps } from 'antd';
interface IUserListTable {}
export interface IDataSource {
  [key: string]: any;
}
export interface ITableConfig {
  columns: TableColumnProps<any>[];
}
export interface IUserListDataUser {
  id: number;
  username: string;
  mobile: string;
  type: number;
  email: string;
  create_time: string;
  mg_state: boolean;
  role_name: string;
}
export interface IUserListData {
  totalpage: number;
  pagenum: number;
  users: Partial<IUserListDataUser>[];
  total?: number;
}
export interface IUserListModelState {
  userListData: Partial<IUserListData>;
}
export interface IUserListModel {
  namespace: string;
  state: Partial<IUserListModelState>;
  effects: {
    getUserList: Effect;
    addUser: Effect;
    removeUser: Effect
    modifyUser:Effect
  };
  reducers: {
    GET_USER_LIST: ImmerReducer;
    ADD_USER: ImmerReducer;
    DELETE_USER:ImmerReducer
  };
}
